草庐IT

c++ - Qt:如何在设计器中设置 QLineEdit 的验证器?

我现在正在设计一个UI,我有一个QLineEdit,我只需要接受整数。我知道如何设置验证器以在代码中使用QIntValidator。但我想在设计器中执行此操作。如何在使用设计器时设置QLineEdit的验证器?注意:我不想使用输入掩码。输入掩码和验证器的功能不同。 最佳答案 您是问如何通过设计器100%完成,还是针对在设计器中设计的小部件?无论如何,您都需要在代码级别执行此操作,无法直接在设计器中执行此操作-并非所有功能都暴露给它。出于好奇,如果您得到的只是一个整数,为什么不使用QSpinBox?您可以使用QSpinBox并将but

c++ - Qt中如何让默认的UI元素更漂亮?

我正在学习使用Qt,目前能够使用大多数标准格式的小部件开发应用程序。现在我想让我的小部件更漂亮。标准的对于Windows来说非常乏味。我想知道小部件的哪些属性通常用于更改它们的外观。例如,标准的QPushButton没有像this中观察到的玻璃状外观。视频。请在0:10(开始视频后10秒)观察按钮的感觉。Here的另一个例子。向上和向下按钮以及下方的按钮。我如何在Qt中进行此类编辑?请注意,我不想复制UI,只是想知道如何创建如此漂亮的小部件?关于这个主题的任何帮助对我来说都非常有帮助。谢谢。 最佳答案 QStyle是一个选项,另一个

c++ - Qt中的logicalDpiX和physicalDpiX有什么区别?

在QPaintDevice的文档中(所有paintable-to实体都派生自,例如QWidget,QPixmap等),有两个函数接收设备的DPIintlogicalDpiX()const;intphysicalDpiX()const;intlogicalDpiY()const;intphysicalDpiY()const;文档说ThelogicalDpiX()andlogicalDpiY()functionsreturnthehorizontalandverticalresolutionofthedeviceindotsperinch.ThephysicalDpiX()andphysi

c++ - Qt - 在新线程中处理 QTcpSocket

尝试在全局线程池的新线程中处理已连接的客户端套接字:m_threadPool=QThreadPool::globalInstance();voidTCPListenerThread::onNewConnection(){QTcpSocket*clientSocket=m_tcpServer->nextPendingConnection();clientSocket->localPort();m_connectThread=newTCPConnectThread(clientSocket);m_threadPool->start(m_connectThread);}这是TCPConnec

c++ - Ncurses 和 Qt 互操作性

有一个基于Qt和ncurses的应用程序,在等待用户输入时每秒刷新屏幕的最佳方法是什么?(例如显示时钟并获取用户输入)。我需要在CPU使用率和应用程序响应能力之间取得最佳折衷。更具体的问题是,如何获得用户输入并仍然使用QTimer和信号槽机制?使用下面的代码时,计时器不起作用。nodelay(stdscr,true);while(1){sleep(1);getch();processInput();} 最佳答案 使用QSocketNotifier通知stdin上可用的内容。在循环中调用非阻塞getch(),直到没有更多输入可用。这一

c++ - 将目录中存储的所有外部库添加到 Qt 项目中

有没有一种方法可以从给定文件夹中添加所有库,而无需将每个库都添加到Qt项目文件中的LIBS变量中。我已将所有库(DLL(win)或SO(unix))与头文件一起放在一个目录(MYLIBS)中,并尝试了如下操作:LIBS*=-L$$PWD/MYLIBS-l*INCLUDEPATH+=$$PWD/MYLIBSDEPENDPATH+=$$PWD/MYLIBS它无法使用错误消息cannotfind-l*。qmake是否可以在创建Makefile时使用通配符? 最佳答案 您可以使用files,basename和replace获得所需功能的功能

c++ - LNK1112 : module machine type 'x64' conflicts with target machine type 'X86' : Qt creator

我有一个在linux上运行的应用程序,我正试图将其导入到windows上。我已经设置了所有库并对.pro文件进行了更改。现在,当我尝试构建项目时出现此错误:error:LNK1112:modulemachinetype'x64'conflictswithtargetmachinetype'X86'我不确定是什么导致了这个问题。我正在使用32位Qtcreator。我知道有几个链接讨论了更改项目属性,但所有这些都与在VisualStudio中更改它们有关。我正在使用Qtcreator并通过QtUI运行项目。所以我不确定如果必须解决这个问题,必须通过Qt对项目属性进行哪些更改。

c++ - Qt 5.5 QOpenGLWidget 链接错误未链接任何 openGL 调用

我尝试使用Qt5.5.1构建一个简单的OpenGL应用程序,一切都很好,直到我尝试使用openGLnative函数调用,如glClearColor。Widget实际上编译并产生黑屏,但在我尝试使用任何openGL原生函数后它甚至没有链接,但产生错误:glwidget.cpp:10:错误:对“_imp__glClearColor@16”的undefinedreference这是.pro文件:QT+=coreguiopenglCONFIG+=windowsgreaterThan(QT_MAJOR_VERSION,4):QT+=widgetsTARGET=Vehicle_simulation

c++ - 如何更改 Qt Designer 中按钮框内按钮的属性?

我在网上查了很久都没有。有谁知道如何访问按钮框中的按钮(使用“右按钮对话框”模板创建)? 最佳答案 在Designer中,选择OK或Cancel按钮。然后打开属性编辑器并向下滚动到QDialogButtonBox部分。然后您可以展开standardButtons项以查看可用的各种按钮。其他属性,例如centerButtons属性,也可用。但是,设计器让您对按钮框的控制非常少。在代码中,您可以做很多其他事情,例如更改出现在“标准按钮”上的文本。来自documentation:findButton=newQPushButton(tr("

c++ - 与 qt4 (c++) 一起使用的好 ORM? ( Django 喜欢...)

有人推荐qt4(c++)的ORM吗?(就像DjangoORM)。 最佳答案 我建议您看一下QDjangoORM,它可能正是您要找的。这个C++ORM只依赖于Qt并建立在Qt的元对象系统之上以提供内省(introspection)。在模型级别的基本创建/更新/删除操作之上,它提供了一个查询集模板类(模仿django的查询集),允许构建相当复杂的查找。还提供可选的QtScript支持,因此您可以访问您的模型并从脚本执行数据库查询。 关于c++-与qt4(c++)一起使用的好ORM?(Djan